Лабораторная работа №13

Дисциплина: Администрирование сетевых подсистем

Ибрахим Мохсейн Алькамаль

Российский университет дружбы народов

2026-02-13

Цель работы

Цель работы

  • Приобретение практических навыков настройки сервера NFS
  • Организация удалённого доступа к файловым ресурсам

Выполнение лабораторной работы

Настройка сервера NFSv4

  • Установлен пакет nfs-utils через dnf
  • Обеспечены утилиты и службы NFSv4

Рисунок 1: Процесс установки пакета nfs-utils с помощью dnf

  • Создан каталог /srv/nfs
  • В /etc/exports добавлено /srv/nfs *(ro)
  • Экспорт с правами только чтения

Рисунок 2: Настройка файла /etc/exports с экспортом каталога /srv/nfs

  • Назначен SELinux-контекст nfs_t для /srv/nfs
  • Использована команда semanage fcontext

Рисунок 3: Назначение SELinux-контекста nfs_t для каталога /srv/nfs

  • Применён restorecon -vR /srv/nfs
  • Запущен и включён nfs-server.service

Рисунок 4: Применение restorecon и запуск службы nfs-server

  • В firewalld добавлен сервис nfs
  • Выполнена перезагрузка конфигурации

Рисунок 5: Настройка firewalld для разрешения сервиса NFS

  • На клиенте установлен пакет nfs-utils
  • Доступны утилиты showmount

Рисунок 6: Установка пакета nfs-utils на клиенте

  • Выполнено showmount -e server.alkamal.net
  • Получена ошибка RPC
  • Причина — ограничения firewall

Рисунок 7: Ошибка RPC при выполнении showmount на клиенте

  • Остановлен firewalld на сервере
  • Временно сняты сетевые ограничения

Рисунок 8: Остановка службы firewalld на сервере

  • Повторный showmount -e выполнен успешно
  • Отображён экспорт /srv/nfs *

Рисунок 9: Успешный вывод showmount с отображением экспорта /srv/nfs

  • firewalld запущен повторно
  • Восстановлены правила фильтрации

Рисунок 10: Повторный запуск службы firewalld на сервере

  • Выполнен анализ lsof | grep TCP/UDP
  • Обнаружены процессы rpcbind, rpc.mountd, rpc.statd
  • Подтверждена работа RPC-служб

Рисунок 11: Вывод lsof для TCP-соединений служб RPC и NFS

Рисунок 12: Вывод lsof для UDP-соединений служб RPC и NFS

  • В firewalld добавлены службы mountd и rpc-bind
  • Выполнен --permanent и --reload

Рисунок 13: Добавление служб mountd и rpc-bind в firewalld

  • Повторный showmount -e выполнен успешно
  • Подтверждена корректная настройка firewall

Рисунок 14: Проверка доступа к экспортируемому ресурсу через showmount

Монтирование NFS на клиенте

  • Создан каталог /mnt/nfs
  • Выполнено mount server.alkamal.net:/srv/nfs /mnt/nfs

Рисунок 15: Создание каталога и монтирование NFS-ресурса на клиенте

  • Проверка mount показала тип nfs4
  • Используется proto=tcp, режим hard, sec=sys

Рисунок 16: Вывод mount с отображением подключённого NFSv4-ресурса

  • В /etc/fstab добавлена строка автоматического монтирования
  • Использован параметр _netdev

Рисунок 17: Добавление записи автоматического монтирования в /etc/fstab

  • Проверен статус remote-fs.target
  • Состояние active

Рисунок 18: Проверка состояния remote-fs.target

  • После перезагрузки ресурс подключён автоматически
  • Подтверждён тип nfs4

Рисунок 19: Подтверждение автоматического монтирования NFS после перезагрузки

Подключение каталогов к дереву NFS

  • Создан каталог /srv/nfs/www
  • Выполнено mount -o bind /var/www /srv/nfs/www
  • Проверено наличие cgi-bin и html

Рисунок 20: Создание каталога /srv/nfs/www и bind-монтирование /var/www

  • На клиенте отображается каталог www
  • Подтверждён экспорт

Рисунок 21: Просмотр каталога /mnt/nfs на клиенте

  • В /etc/exports добавлено /srv/nfs/www 192.168.0.0/16(rw)
  • Разрешён доступ на чтение и запись

Рисунок 22: Добавление экспорта каталога /srv/nfs/www в /etc/exports

  • Выполнено exportfs -r
  • Применена новая конфигурация

Рисунок 23: Повторная инициализация экспорта NFS с помощью exportfs -r

  • На клиенте отображаются cgi-bin и html
  • Подтверждён доступ к веб-контенту

Рисунок 24: Просмотр содержимого /mnt/nfs/www на клиенте

  • В /etc/fstab добавлено bind-монтирование /var/www
  • Обеспечено постоянное подключение

Рисунок 25: Добавление bind-монтирования в /etc/fstab

  • Повторно выполнен exportfs -r
  • Конфигурация актуализирована

Рисунок 26: Повторный экспорт каталогов после изменения /etc/fstab

  • Проверка на клиенте подтверждает доступ
  • Настройка выполнена корректно

Рисунок 27: Итоговая проверка содержимого /mnt/nfs/www на клиенте

Подключение каталогов для работы пользователей

  • Создан каталог ~/common с правами 700
  • Создан файл alkamal@server.txt
  • Права rwx------

Рисунок 28: Создание каталога common с правами 700 и файла пользователя

  • В /etc/exports добавлено /srv/nfs/home/alkamal 192.168.0.0/16(rw)
  • Разрешён сетевой доступ

Рисунок 29: Добавление каталога пользователя в /etc/exports

  • В /etc/fstab добавлено bind-монтирование каталога пользователя

Рисунок 30: Добавление bind-монтирования каталога пользователя в /etc/fstab

  • Выполнено exportfs -r
  • Обновлена конфигурация экспорта

Рисунок 31: Повторный экспорт каталогов NFS

  • На клиенте отображаются home и www
  • Подтверждён экспорт пользовательского каталога

Рисунок 32: Проверка каталога /mnt/nfs на клиенте

  • Пользователь alkamal создал файл на клиенте
  • Подтверждены права записи

Рисунок 33: Создание файла пользователем alkamal на клиенте через NFS

  • На сервере отображаются оба файла
  • Подтверждена синхронность данных

Рисунок 34: Проверка появления файла клиента на сервере

  • При доступе root получено Permission denied
  • Причина — права 700

Рисунок 35: Отказ в доступе под пользователем root на клиенте

Внесение изменений в настройки внутреннего

  • В /vagrant/provision/server создан каталог nfs/etc
  • Скопирован файл /etc/exports

Рисунок 36: Копирование файла /etc/exports в каталог provision/server/nfs/etc

  • Создан скрипт nfs.sh для сервера
  • Реализована установка nfs-utils
  • Настроены SELinux, firewall, bind-монтирование
  • Запущена и включена служба nfs-server

Рисунок 37: Содержимое скрипта nfs.sh для виртуальной машины server

  • На клиенте создан скрипт nfs.sh
  • Реализованы установка, монтирование и запись в /etc/fstab
  • Выполнен restorecon

Рисунок 38: Создание файла nfs.sh в каталоге provision/client

Рисунок 39: Содержимое скрипта nfs.sh для виртуальной машины client

Выводы

Выводы

  • Настроен сервер NFSv4 и экспорт каталогов
  • Назначены корректные SELinux-контексты nfs_t
  • Настроен firewall для RPC и NFS-служб
  • Реализовано автоматическое монтирование на клиенте
  • Организовано bind-монтирование каталогов
  • Проверено разграничение доступа по правам файловой системы
  • Настройка автоматизирована через provisioning-скрипты
  • Обеспечена воспроизводимость инфраструктуры NFS